Field
This application relates to communication networks and, more particularly, to a method for layer 2 forwarding in a multi-node switch cluster.
Description of the Related Art
Data communication networks may include various computers, servers, hubs, switches, nodes, routers, other devices coupled to and configured to pass data to one another. These devices will be referred to herein as “network elements”. Data is communicated through the data communication network by passing protocol data units, such as frames, packets, cells, or segments, between the network elements by utilizing one or more communication links. A particular protocol data unit may be handled by multiple network elements and cross multiple communication links as it travels between its source and its destination over the network.
One way to make networks more reliable is to provide redundant connections between network elements using multiple physical links. A link aggregation group (LAG) or Multi-Link Trunk (MLT) of this nature is formed from two or more physical links that behave as one logical port. In this scenario, although physically the links are separate, logically they may be viewed as a single trunk by upper layers of the networking stack so that a failure of one of the links forming the logical trunk will not require corrective action at the link or networking layers. Rather, the network is able to accommodate a failure of one of the physical links by causing traffic to be shifted to one of the other links interconnecting the network elements. A link that is implemented in this manner will be referred to herein as a “multi-link trunk”.
To further increase reliability, it is possible to cause the physical links implementing a multi-link trunk to be connected to different switches forming a switch cluster. A Multi-link trunk that has physical links connected to two or more switches of a switch cluster will be referred to herein as a “split multi-link trunk” or SMLT. In a triangular arrangement, on one end of the SMLT all the port members are connected to the same endpoint, and on the other end the port members are physically distributed across two or more access switches.
The switches at the split end of the SMLT are interconnected using a subset of their normal Input/Output (I/O) ports. The connection between the switches of the switch cluster is referred to herein as an Inter Switch Trunk (IST) and the ports that are used to communicate between the switches of the switch cluster are referred to as IST ports. The IST may be implemented using one or more physical links or may be implemented as a logical connection over one or more intervening nodes. Two switches connected via IST ports and providing SMLT connectivity form a layer 2 loop-free two-node resilient switch cluster.
All I/O ports that are not IST type are referred to as User I/O ports or User ports. Endpoint devices connect to the switch cluster using user ports. An endpoint device can connect to the switch cluster via either a single physical user port or a set of user ports via a LAG/MLT. When a single physical user port is used, the endpoint is connected to only one of the switches within the switch cluster. When a LAG/MLT or SMLT is used, the endpoint can be connected to one or more switches within the switch cluster.
Shortest Path Bridging (SPB), which has been implemented as IEEE 802.1aq, may be used to further scale the network and interconnect all the access switch clusters to provide a large flat layer 2 switch network without using the spanning tree protocol. When a switch cluster is connected between a SMLT and a SPB network, the switches of the switch cluster will have three types of ports: User to Network Interface (UNI) ports, Network to Network Interface (NNI) ports, and Inter-Switch Trunk (IST) ports. The UNI ports may be SMLT ports (where one or more of the links of the Split MLT connects to another switch of the switch cluster), LAG/MLT ports (where a trunk is formed from multiple links (Multi-Link Trunk) that all connect to the one switch), or single port (where the trunk is made up of a single physical link). With LAG/MLT and single port interfaces, there is not any dual-homing of the associated trunk, but rather all links (one or multiple) connect between an end device and the switch. With a SMLT some of the links of the MLT will connect between the end device and two or more of the switches of the switch group. The IST ports, as noted above, interconnect switches of the switch cluster.
The NNI ports are configured to interface the IEEE 802.1aq network and are hence used to forward traffic onto the SPB network to interconnect SMLT clusters or to connect to a next tier of switches with NNI ports. Commonly, traffic that is passed onto a SPB network will be encapsulated using an outer provider MAC header such that MAC-in-MAC encapsulation specified in IEEE 802.1ah is utilized within the SPB network.
Implementing a switch cluster to interface with both SMLT and 802.1 aq networks requires special design considerations and methods, particularly in connection with handling of layer 2 broadcast and unicast traffic. Particularly in connection with broadcast traffic, it is important to be cognizant of how traffic is handled in connection with the IST to allow traffic to be communicated between the switches without forming routing loops. Commonly, the IST ports are treated as NNI type only, and each node within the cluster is implemented as a monolithic switch that handles switch cluster and SPB interworking Unfortunately this is not straightforward in certain circumstances. For example, transitioning the switch cluster to support shortest path bridging (SPB) requires removal of the IST port membership (which is already configured on both switch nodes) from Customer Virtual Local Area Network (C-VLANs) on both nodes, which causes service interruptions to the customers. Accordingly it would be advantageous to provide a method for layer 2 forwarding in a multi-node switch cluster.